/**
  ******************************************************************************
  * @file    Api/Inout.h 
  * @author  Zlf
  * @version V1.0.0
  * @date    2019-05-21
  * @brief   Header for Inout.c module
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef    __IN_OUT_H
#define    __IN_OUT_H

/* Includes ------------------------------------------------------------------*/
	#include "main.h"

/* Exported constants --------------------------------------------------------*/
#define MASK_INOUT 		( 0xfff )

/* Exported macro ------------------------------------------------------------*/
	
/* Exported types ------------------------------------------------------------*/
typedef  struct{
	void (* input )( void );
	void (* output )( void );
}F_INOUT_Typedef;

typedef union 
{
	struct {
		u8 b_in00  :1;
		u8 b_in01  :1;
		u8 b_in02  :1;
		u8 b_in03  :1;		
		u8 b_in04  :1;
		u8 b_in05  :1;
		u8 b_in06  :1;
		u8 b_in07  :1;
	} b;
	u8 w;
}Inout_RW_TypeDef;
	
/* Exported varables ---------------------------------------------------------*/
extern F_INOUT_Typedef fInout;
extern Inout_RW_TypeDef lInput,lOutput;

#endif /* __IN_OUT_H */
 
 
